$(function() {
	layui.use([ 'element', 'layer', 'form', 'laydate', 'table' ],function() {
						var element = layui.element, 
						layer = layui.layer, form = layui.form, 
						laydate = layui.laydate, table = layui.table; // 导航的hover效果、二级菜单等功能，需要依赖element模块
                        var t;//用来表示点击的那场比赛id号
                        var singer1=null;//记录歌手1的id号
                        var singer2=null;//记录歌手2的id号
                        
						// 监听导航点击
						element.on('nav(demo)', function(elem) {
							$("h1").text(elem.text());

						});
						// 日期显示
						laydate.render({
							elem : '#test1'
						});
						//返回用户信息
						$.ajax({
							url:"../race/userss",
							type:"post",
							data:{},
							dataType:"json",
							success:function(result){
								var t = eval(result);
								
								layer.msg("success");
								//$("#username1").text(t.user.username);
								//$("#username2").text(t.user.username);
							},
							error:function(){
								layer.msg("error");
							}
						})
						// 监听提交 地址
						form.on('submit(formDemo)', function(data) {
							
							$.ajax({
								url : "../race/insertraceinfor",
								type : "post",
								data : data.field,
								dataType : "json",
								success : function(result) {
									layer.msg(result.msg);
								},
								error : function() {
									layer.msg("error");
								}
							})
							return false;
						});
                   
						// 监听提交 对决表
						form.on('submit(formmus)', function(data) {
							
							$.ajax({
								url : "../race/insertrace",
								type : "post",
								data : {raceid:t,singerid1:singer1,singerid2:singer2},
								dataType : "json",
								success : function() {
									layer.msg("success");
									 table.reload('raceid', {
								    	  where: { //设定异步数据接口的额外参数，任意设
								    	   rid:t
								    	  }
								    	  ,page: {
								    	    curr: 1 //重新从第 1 页开始
								    	  }
								    	});
									 $("#singerName1").val('');
									 $("#singerMus1").val('');
									 $("#singerName2").val('');
									 $("#singerMus2").val('');
								},
								error : function() {
									layer.msg("error");
								}
							})
							return false;
						});
						//监听race表格
						 table.on('tool(race)', function(obj){
							    var data = obj.data;
							   if(obj.event === 'edit'){
								   if($("#singerName1").val()!=''){
									   layer.msg("不同比赛不能添加对决表，请置空。");
									   return
								   }
							      $(".font").text(data.raceName);
							      $(".fontid").text(data.rid);
							      t=data.rid;
							      table.reload('raceid', {
							    	  where: { //设定异步数据接口的额外参数，任意设
							    	   rid:data.rid
							    	  }
							    	  ,page: {
							    	    curr: 1 //重新从第 1 页开始
							    	  }
							    	}); //只重载数据
							    }
							  });
						//监听singer表格
						 table.on('tool(singer)', function(obj){
							    var data = obj.data;
							    var singerName1 = $("#singerName1");
							    var singerMus1 = $("#singerMus1");
							    var singerName2 = $("#singerName2");
							    var singerMus2 =$("#singerMus2");
							   if(obj.event === 'edit'){
								   
								   
							      if(singerName1.val()=='' ||singerMus1.val()==''){
							    	  layer.msg(data.singerBean.singerName);
							    	  singerName1.val(data.singerBean.singerName);
							    	  singerMus1.val(data.singerMus);
							    	  singer1=data.sid;
							      }else{
							    	  singerName2.val(data.singerBean.singerName);
							    	  singerMus2.val(data.singerMus);
							    	  singer2=data.sid;
							    	  
							      }
							      
							    
							    }
							  });
						 
						  //监听单元格编辑
	                       table.on('edit(updatarace)', function(obj){
	                    	  
	                          var value = obj.value //得到修改后的值
	                           ,data = obj.data //得到所在行所有键值
	                           ,field = obj.field; //得到字段
	                          
	                           
	                            $.ajax({
	                            	url:"../race/updatarace",
	                            	type:"post",
	                            	data:{value:value,rid:data.rid,field:field},
	                            	dataType:"json",
	                            	success:function(){
	                            		layer.msg("修改成功");
	                            	},
	                            	error:function(){
	                            		layer.msg("error");
	                            	}
	                            })
	                         });
						 
						$("#ron1").on("click", function() {

							$(".ron1").siblings().css("display", "none");
							$(".ron1").css("display", "block");
						})
						$("#ron2").on("click", function() {

							$(".ron2").siblings().css("display", "none");
							$(".ron2").css("display", "block");
							// 赛事对决表的信息开始加载出来
							// 1加载所有赛事 显示参赛选手人数
							table.render({
								elem : '#test',
								url : "../race/allrace",
								width : 620,
								height : 360,
								cols : [ [ {field : 'rid',width : 60,title : 'ID',sort : true}, 
									{field : 'raceName',width : 120,title : '比赛名称'},
									{field : 'raceAddress',width : 120,title : '比赛地址'},
									{field : 'raceTime',width : 120,title : '比赛时间'},
									{field : 'include',width : 120,title : '比赛简介'},
									{field : 'raceUser',width : 120,title : '比赛人数'},
									{fixed: 'right', width:80, align:'center', toolbar: '#barDemo'}
								
									 ] ],
								page : true,
								limit : 5,
								limits : [ 5, 10, 15 ],
								response : {
									statusCode : 200
								// 重新规定成功的状态码为 200，table 组件默认为 0
								},
								parseData : function(res) { // res 即为原始返回的数据
									console.log(res);

									return {
										"code" : res.status, // 解析接口状态
										"msg" : res.message, // 解析提示文本
										"count" : res.tol, // 解析数据长度
										"data" : res.raceBeans
									// 解析数据列表
									};
								},
								done:function(res){
									
									console.log(res);
									
									t=res.data[0].rid;
									$(".font").text(res.data[0].raceName);
									 $(".fontid").text(res.data[0].rid);
									 t=res.data[0].rid;
									table.render({
										elem : '#singer',
										url : "../race/allsinger",
										id: 'raceid',
										where:{rid:t},
										width : 420,
										height : 550,
										cols : [ [ 
											{field : 'sid',width : 120,title : '选手id'},
											{field : 'singerBean1',width : 120,title : '选名称',templet: '<div>{{d.singerBean.singerName}}</div>'},
											{field : 'singerMus',width : 120,title : '歌名'},
											{field : 'singerTotalScore',width : 120,title : '总分'},
											{fixed: 'right', width:80, align:'center', toolbar: '#singerid'}
											
											] ],
										page : true,
										limit : 5,
										limits : [ 5, 10, 15 ],
										response : {
											statusCode : 200
										// 重新规定成功的状态码为 200，table 组件默认为 0
										},
										parseData : function(res) { // res 即为原始返回的数据
											console.log(res);

											return {
												"code" : res.status, // 解析接口状态
												"msg" : res.message, // 解析提示文本
												"count" : res.tol, // 解析数据长度
												"data" : res.singerRaceBeans
											// 解析数据列表
											};
										}
									});
								}
							});

							

						})
						
						//监听工具条 ron3
						  table.on('tool(updatarace)', function(obj){
						    var data = obj.data;
						    if(obj.event === 'del'){
						      layer.confirm('真的删除行么', function(index){
						    	$.ajax({
						    		url:"../race/deleterace",
						    		type:"post",
						    		data:{rid:data.rid},
						    		dataType:"json",
						    		success:function(){
						    			 obj.del();
									     layer.close(index);
									     layer.msg("删除成功");
						    		},
						    		error:function(){
						    			 layer.close(index);
									     layer.msg("删除失败");
						    		}
						    	})
						    	  
						        
						      });
						    } 
						  });
						$("#ron3").on("click", function() {
							$(".ron3").siblings().css("display", "none");
							$(".ron3").css("display", "block");
							table.render({
								elem : '#updatarace',
								url : "../race/allrace",
								id: 'uprace',
								
								width : 950,
								height : 350,
								cols : [ [ 
									{field : 'rid',width : 120,title : '比赛id'},
									{field : 'raceName',width : 120,title : '比赛名称',edit: 'text'},
									{field : 'raceAddress',width : 120,title : '比赛地址',edit: 'text'},
									{field : 'raceTime',width : 120,title : '比赛时间',edit: 'text'},
									{field : 'raceUser',width : 120,title : '比赛人数'},
									{field : 'include',width : 200,title : '比赛简介',edit: 'text'},
									{fixed: 'right', width:178, align:'center', toolbar: '#deleterace'}
									] ],
								page : true,
								limit : 5,
								limits : [ 5, 10, 15 ],
								response : {
									statusCode : 200
								// 重新规定成功的状态码为 200，table 组件默认为 0
								},
								parseData : function(res) { // res 即为原始返回的数据
									console.log(res);

									return {
										"code" : res.status, // 解析接口状态
										"msg" : res.message, // 解析提示文本
										"count" : res.tol, // 解析数据长度
										"data" : res.raceBeans
									// 解析数据列表
									};
								}
							});
						})
						var rid;
						  //监听行单击事件（单击事件为：rowDouble）
                        table.on('row(raceinfor)', function(obj){
                        var data = obj.data;
                        rid=data.rid
                        $(".went").text(data.raceName);
                        //重载ron4-2里面的表格
                        table.reload('racesinger', {
                        	  where: { //设定异步数据接口的额外参数，任意设
                        	     rid:data.rid,
                        	     tmps:0
                        	  }
                        	  ,page: {
                        	    curr: 1 //重新从第 1 页开始
                        	  },
                        	  
                        	}); 
                        //标注选中样式
                        obj.tr.addClass('layui-table-click').siblings().removeClass('layui-table-click');
                        });
                        var currs;
						 //监听工具条
						  table.on('tool(racesinger)', function(obj){
						    var data = obj.data;
						    if(obj.event === 'detail'){
						      //layer.msg('ID：'+ data.id + ' 的查看操作');
						      //$(".layui-btn.layui-btn-xs.a").addClass('layui-btn-disabled');
						      //obj.tr.children(".layui-btn.layui-btn-xs.a")
						      //layer.msg(obj.tr.children(".layui-btn.layui-btn-xs.a").text());
						    	$.ajax({
						    		url:"../race/startfight",
						    		type:"post",
						    		data:{fid:data.fid,rid:rid},
						    		dataType:"json",
						    		success:function(result){
						    			layer.msg(result.msg);
						    			if(result.msg=="开启成功"){
						    				$(".pades").text("  "+"第"+currs+"页ID号:"+data.fid+"已经开启");
						    				
						    			}
						    			
						    		},
						    		error:function(){
						    			layer.msg("error");
						    		}
						    	})
						    } else if(obj.event === 'del'){
						    	$.ajax({
						    		url:"../race/stopfight",
						    		type:"post",
						    		data:{fid:data.fid,rid:rid},
						    		dataType:"json",
						    		success:function(result){
						    			var t = eval(result)
						    			 obj.update({
						    				 judgeScoreOne: t.judgeScoreOne,
						    				 userScoreOne:t.userScoreOne,
						    				 totalScoreOne:t.totalScoreOne,
						    				 judgeScoreTwo:t.judgeScoreTwo,
						    				 userScoreTwo:t.userScoreTwo,
						    				 totalScoreTwo:t.totalScoreTwo
						    			    });
						    			$(".pades").text('');
						    			layer.msg("关闭成功");
						    		},
						    		error:function(){
						    			layer.msg("没有人投票，小老弟请不要乱点");
						    		}
						    	})
						    } 
						  });
						$("#ron4").on("click", function() {
							$(".ron4").siblings().css("display", "none");
							$(".ron4").css("display", "block");
							table.render({
								elem : '#raceinfor',
								url : "../race/allra",
								id: 'racein',
								
								width : 250,
								height : 450,
								cols : [ [ 
									{field : 'rid',width : 90,title : '比赛id'},
									{field : 'raceName',width : 150,title : '比赛名称'},
									
									] ],
								
								response : {
									statusCode : 200
								// 重新规定成功的状态码为 200，table 组件默认为 0
								},
								parseData : function(res) { // res 即为原始返回的数据
									console.log(res);

									return {
										"code" : res.status, // 解析接口状态
										"msg" : res.message, // 解析提示文本
										"count" : res.tol, // 解析数据长度
										"data" : res.raceBeans
									// 解析数据列表
									};
								},
								done:function(res){
									rid=res.data[0].rid
									$(".went").text(res.data[0].raceName);
									table.render({
										elem : '#racesinger',
										url : "../race/racesinger",
										id: 'racesinger',
										where:{rid:rid,tmps:1},
										width : 800,
										height : 450,
										cols : [ [ 
											{field : 'fid',width : 50,title : 'id'},
											{field : 'sidOne',width : 50,title : 'id'},
											{field : 'sidNameOne',width : 80,title : '名字'},
											{field : 'judgeScoreOne',width : 60,title : '裁判'},
											{field : 'userScoreOne',width : 60,title : '观众'},
											{field : 'totalScoreOne',width : 80,title : '总分'},
											{field : 'sidTwo',width : 50,title : 'id'},
											{field : 'sidNameTwo',width : 80,title : '名字'},
											{field : 'judgeScoreTwo',width : 60,title : '裁判'},
											{field : 'userScoreTwo',width : 60,title : '观众'},
											{field : 'totalScoreTwo',width : 80,title : '总分'},
											
											{fixed: 'right', width:148, align:'center', toolbar: '#fight'}
											] ],
										page : true,
										limit : 5,
										limits : [ 5, 10, 15 ],
										response : {
											statusCode : 200
										// 重新规定成功的状态码为 200，table 组件默认为 0
										},
										parseData : function(res) { // res 即为原始返回的数据
											

											return {
												"code" : res.status, // 解析接口状态
												"msg" : res.message, // 解析提示文本
												"count" : res.tol, // 解析数据长度
												"data" : res.fightBeans
											// 解析数据列表
											};
										},
										done:function(res,curr){
											console.log(res);
											console.log(curr);
											currs=curr;
										}
									});
								}
							});
						});
						table.on('row(raceinfor1)', function(obj){
							var data = obj.data;
							  //console.log(obj.tr) //得到当前行元素对象
							  //console.log(obj.data) //得到当前行数据
							
							  table.reload('singerscore', {
								  where: { //设定异步数据接口的额外参数，任意设
								   rid:data.rid
								  }
								  ,page: {
								    curr: 1 //重新从第 1 页开始
								  }
								});
							  //obj.del(); //删除当前行
							  //obj.update(fields) //修改当前行数据
							});
						$("#ron5").on("click", function() {
							$(".ron5").siblings().css("display", "none");
							$(".ron5").css("display", "block");
							table.render({
								elem : '#raceinfor1',
								url : "../race/allra",
								id: 'racein',
								
								width : 250,
								height : 450,
								cols : [ [ 
									{field : 'rid',width : 90,title : '比赛id'},
									{field : 'raceName',width : 150,title : '比赛名称'},
									
									] ],
								
								response : {
									statusCode : 200
								// 重新规定成功的状态码为 200，table 组件默认为 0
								},
								parseData : function(res) { // res 即为原始返回的数据
									console.log(res);

									return {
										"code" : res.status, // 解析接口状态
										"msg" : res.message, // 解析提示文本
										"count" : res.tol, // 解析数据长度
										"data" : res.raceBeans
									// 解析数据列表
									};
								},
								done:function(res){
									
									var rid1 = res.data[0].rid;
									table.render({
										elem : '#singerscore',
										url : "../race/singerscore",
										id: 'singerscore',
										where:{rid:rid1},
										width : 800,
										height : 450,
										cols : [ [ 
											{field : 'rid',width : 100,title : '比赛id'},
											{field : 'sid',width : 100,title : '选手id'},
											{field : 'singerBean',width : 100,title : '选手姓名',templet: '<div>{{d.singerBean.singerName}}</div>'},
											{field : 'singerJudgeScore',width : 120,title : '裁判分数',sort: true},
											{field : 'singerUserScore',width : 120,title : '用户分数',sort: true},
											{field : 'singerTotalScore',width : 120,title : '总分',sort: true},
											
											{field : 'singerMus',width : 120,title : '歌曲'},
											
											
											] ],
										page : true,
										limit : 5,
										limits : [ 5, 10, 15 ],
										response : {
											statusCode : 200
										// 重新规定成功的状态码为 200，table 组件默认为 0
										},
										parseData : function(res) { // res 即为原始返回的数据
											

											return {
												"code" : res.status, // 解析接口状态
												"msg" : res.message, // 解析提示文本
												"count" : res.tol, // 解析数据长度
												"data" : res.singerRaceBeans
											// 解析数据列表
											};
										},
										done:function(res,curr){
											console.log(res);
											console.log(curr);
											
										}
									});
									
									
									
								}
							});
						})
						
						table.on('row(raceinfor2)', function(obj){
							var data = obj.data;
							  //console.log(obj.tr) //得到当前行元素对象
							  //console.log(obj.data) //得到当前行数据
							 
							  table.reload('fighttable', {
								  where: { //设定异步数据接口的额外参数，任意设
								   rid:data.rid
								  }
								  ,page: {
								    curr: 1 //重新从第 1 页开始
								  }
								});
							  //obj.del(); //删除当前行
							  //obj.update(fields) //修改当前行数据
							});
						
						  //监听工具条
						  table.on('tool(fighttable)', function(obj){
						    var data = obj.data;
						    if(obj.event === 'del'){
						      layer.confirm('真的删除行么', function(index){
						    	  $.ajax({
						    		  url:"../race/deletefights",
						    		  type:"post",
						    		  data:{fid:data.fid},
						    		  dataType:"json",
						    		  success:function(){
						    			  layer.msg("删除成功");
						    			  obj.del();
									      layer.close(index);
						    		  },
						    		  error:function(){
						    			  layer.msg("error");
						    			  layer.close(index);
						    		  }
						    	  })
						       
						      });
						    } 
						  });
						
						$("#ron6").on("click", function() {
							$(".ron6").siblings().css("display", "none");
							$(".ron6").css("display", "block");
							
							table.render({
								elem : '#raceinfor2',
								url : "../race/allra",
								id: 'raceinfor2',
								
								width : 250,
								height : 450,
								cols : [ [ 
									{field : 'rid',width : 90,title : '比赛id'},
									{field : 'raceName',width : 150,title : '比赛名称'},
									
									] ],
								
								response : {
									statusCode : 200
								// 重新规定成功的状态码为 200，table 组件默认为 0
								},
								parseData : function(res) { // res 即为原始返回的数据
									console.log(res);

									return {
										"code" : res.status, // 解析接口状态
										"msg" : res.message, // 解析提示文本
										"count" : res.tol, // 解析数据长度
										"data" : res.raceBeans
									// 解析数据列表
									};
								},
								done:function(res){
									
									var rid2 = res.data[0].rid;
									table.render({
										elem : '#fighttable',
										url : "../race/racesinger",
										id: 'fighttable',
										where:{rid:rid2},
										width : 800,
										height : 450,
										cols : [ [ 
											{field : 'fid',width : 50,title : 'id'},
											{field : 'sidOne',width : 50,title : 'id'},
											{field : 'sidNameOne',width : 80,title : '名字'},
											
										
											{field : 'totalScoreOne',width : 80,title : '总分'},
											{field : 'vs',width : 80,title : 'vs'},
											{field : 'sidTwo',width : 50,title : 'id'},
											{field : 'sidNameTwo',width : 80,title : '名字'},
											
											
											{field : 'totalScoreTwo',width : 80,title : '总分'},
											{fixed: 'right', width:178, align:'center', toolbar: '#deletefight'}
											
											] ],
										page : true,
										limit : 5,
										limits : [ 5, 10, 15 ],
										response : {
											statusCode : 200
										// 重新规定成功的状态码为 200，table 组件默认为 0
										},
										parseData : function(res) { // res 即为原始返回的数据
											

											return {
												"code" : res.status, // 解析接口状态
												"msg" : res.message, // 解析提示文本
												"count" : res.tol, // 解析数据长度
												"data" : res.fightBeans
											// 解析数据列表
											};
										},
										done:function(res,curr){
											console.log(res);
											console.log(curr);
											
										}
									});
									
									
									
								}
							});
							
							
							})
						
					});

})